package com.yanqu.road.entity.union.huaben;

import com.yanqu.road.entity.DataObject;
import com.yanqu.road.entity.FieldTypeAnnotation;

import java.util.List;
import java.util.Objects;

@FieldTypeAnnotation(tableName = "t_c_hua_ben_base_temp", desc = "商会话本-基础模板")
public class UnionHuaBenBaseTempData extends DataObject {

    @FieldTypeAnnotation(desc = "周id", update = true, select = true)
    private int weekId;

    @FieldTypeAnnotation(desc = "区服id", update = true)
    private long serverId;

    @FieldTypeAnnotation(desc = "关卡id", update = true)
    private int id;

    @FieldTypeAnnotation(desc = "难度")
    private int degree;

    @FieldTypeAnnotation(desc = "关卡")
    private int level;

    @FieldTypeAnnotation(desc = "话本boss血量")
    private String bossHP;

    @FieldTypeAnnotation(desc = "话本小怪血量(小波次)")
    private String monsterHP;

    @FieldTypeAnnotation(desc = "波次")
    private int monsterWave;

    @FieldTypeAnnotation(desc = "小怪奖励：按波次")
    private int monsterReward;

    @FieldTypeAnnotation(desc = "boss基础奖励")
    private int bossReward;

    @FieldTypeAnnotation(desc = "boss特殊奖励")
    private String bossSReward;

    @FieldTypeAnnotation(desc = "商贸id;商贸触发概率（千分比）")
    private String probability;

    @FieldTypeAnnotation(desc = "boss形象")
    private int bossIcon;

    @FieldTypeAnnotation(desc = "小怪形象")
    private List<Integer> monsterIcon;

    @FieldTypeAnnotation(desc = "boss积分")
    private int bossScore;

    @FieldTypeAnnotation(desc = "小怪积分")
    private int monsterScore;

    public int getWeekId() {
        return weekId;
    }

    public void setWeekId(int weekId) {
        if(this.weekId != weekId) {
            this.weekId = weekId;
            setUpdateOption();
        }
    }

    public long getServerId() {
        return serverId;
    }

    public void setServerId(long serverId) {
        if(this.serverId != serverId) {
            this.serverId = serverId;
            setUpdateOption();
        }
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        if(this.id != id) {
            this.id = id;
            setUpdateOption();
        }
    }

    public int getDegree() {
        return degree;
    }

    public void setDegree(int degree) {
        if(this.degree != degree) {
            this.degree = degree;
            setUpdateOption();
        }
    }

    public int getLevel() {
        return level;
    }

    public void setLevel(int level) {
        if(this.level != level) {
            this.level = level;
            setUpdateOption();
        }
    }

    public String getBossHP() {
        return bossHP;
    }

    public void setBossHP(String bossHP) {
        if(this.bossHP != bossHP) {
            this.bossHP = bossHP;
            setUpdateOption();
        }
    }

    public String getMonsterHP() {
        return monsterHP;
    }

    public void setMonsterHP(String monsterHP) {
        if(!Objects.equals(this.monsterHP, monsterHP)) {
            this.monsterHP = monsterHP;
            setUpdateOption();
        }
    }

    public int getMonsterWave() {
        return monsterWave;
    }

    public void setMonsterWave(int monsterWave) {
        if(this.monsterWave != monsterWave) {
            this.monsterWave = monsterWave;
            setUpdateOption();
        }
    }

    public int getMonsterReward() {
        return monsterReward;
    }

    public void setMonsterReward(int monsterReward) {
        if(this.monsterReward != monsterReward) {
            this.monsterReward = monsterReward;
            setUpdateOption();
        }
    }

    public int getBossReward() {
        return bossReward;
    }

    public void setBossReward(int bossReward) {
        if(this.bossReward != bossReward) {
            this.bossReward = bossReward;
            setUpdateOption();
        }
    }

    public String getBossSReward() {
        return bossSReward;
    }

    public void setBossSReward(String bossSReward) {
        if(!Objects.equals(this.bossSReward, bossSReward)) {
            this.bossSReward = bossSReward;
            setUpdateOption();
        }
    }

    public String getProbability() {
        return probability;
    }

    public void setProbability(String probability) {
        if(!Objects.equals(this.probability, probability)) {
            this.probability = probability;
            setUpdateOption();
        }
    }

    public int getBossIcon() {
        return bossIcon;
    }

    public void setBossIcon(int bossIcon) {
        if(this.bossIcon != bossIcon) {
            this.bossIcon = bossIcon;
            setUpdateOption();
        }
    }

    public List<Integer> getMonsterIcon() {
        return monsterIcon;
    }

    public void setMonsterIcon(List<Integer> monsterIcon) {
        this.monsterIcon = monsterIcon;
        setUpdateOption();
    }

    public int getBossScore() {
        return bossScore;
    }

    public void setBossScore(int bossScore) {
        if(this.bossScore != bossScore) {
            this.bossScore = bossScore;
            setUpdateOption();
        }
    }

    public int getMonsterScore() {
        return monsterScore;
    }

    public void setMonsterScore(int monsterScore) {
        if(this.monsterScore != monsterScore){
            this.monsterScore = monsterScore;
            setUpdateOption();
        }
    }
}
